package cn.tedu.net.collection.design;

public class Test4 {
    public static void main(String[] args) {
        Inter3Impl i3 =new Inter3Impl();
        i3.update();
        Inter3 in =new Inter3Impl();
        in.update();
        in.find();
        i3.a();
        in.b();//接口中可以有默认方法,如果接口多继承时默认方法同名必须覆盖重写,继承的默认方法不同名的时候可以直接调用
//        in.a();接口中的静态方法只能用接口直接调用不能创建对象调用 , 当父类和接口的默认方法重名时调用的是父类的方法,
//        优先级高于静态方法,想要重新调用接口内的默认方法
    }
}
//创建接口一
interface Inter1{
    int a=10;
    public abstract void save();
    public abstract void delete();
    default void b(){
        System.out.println("ccc");
    }
    public static void a(){
        System.out.println("aaa");
    }
}
//创建接口二
interface Inter2{
    public abstract void update();
    public abstract void find();
}
//接口之间可以有继承关系还可以多继承
interface Inter3 extends Inter1,Inter2{

}
//创建接口的实现类
class Inter3Impl extends a implements Inter3{
    @Override
    public void save() {
        System.out.println("正在保存中");
    }

    @Override
    public void delete() {
        System.out.println("正在删除中");
    }

    @Override
    public void update() {
        System.out.println("马上就更新好了");
    }

    @Override
    public void find() {
        System.out.println("正在查询");
    }
}
class a{
    public void a(){
        System.out.println("我是父类的方法");
    }
    public void b(){
        System.out.println("我是父类的方法");
    }
}